home *** CD-ROM | disk | FTP | other *** search
/ This Disc Bytes! / Power Computing - The Disc 2 - This Disc Bytes.ISO / mac / CodeWarrior 7 Lite for 68K / MacOS Support / Headers / Universal Headers / OCEStandardDirectory.h < prev    next >
Text File  |  1995-07-06  |  21KB  |  574 lines

  1. /*
  2.      File:        OCEStandardDirectory.h
  3.  
  4.      Contains:    Apple Open Collaboration Environment Standard Directory Interfaces.
  5.  
  6.      Version:    Technology:    AOCE Toolbox 1.02
  7.                  Package:    Universal Interfaces 2.1 in “MPW Latest” on ETO #18
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs@applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. */
  19.  
  20. #ifndef __OCESTANDARDDIRECTORY__
  21. #define __OCESTANDARDDIRECTORY__
  22.  
  23. #ifndef REZ
  24.  
  25. #ifndef __APPLEEVENTS__
  26. #include <AppleEvents.h>
  27. #endif
  28. /*    #include <Errors.h>                                            */
  29. /*        #include <ConditionalMacros.h>                            */
  30. /*    #include <Types.h>                                            */
  31. /*    #include <Memory.h>                                            */
  32. /*        #include <MixedMode.h>                                    */
  33. /*    #include <OSUtils.h>                                        */
  34. /*    #include <Events.h>                                            */
  35. /*        #include <Quickdraw.h>                                    */
  36. /*            #include <QuickdrawText.h>                            */
  37. /*    #include <EPPC.h>                                            */
  38. /*        #include <AppleTalk.h>                                    */
  39. /*        #include <Files.h>                                        */
  40. /*            #include <Finder.h>                                    */
  41. /*        #include <PPCToolbox.h>                                    */
  42. /*        #include <Processes.h>                                    */
  43. /*    #include <Notification.h>                                    */
  44.  
  45. #ifndef __ICONS__
  46. #include <Icons.h>
  47. #endif
  48.  
  49. #ifndef __TYPES__
  50. #include <Types.h>
  51. #endif
  52.  
  53. #ifndef __WINDOWS__
  54. #include <Windows.h>
  55. #endif
  56. /*    #include <Controls.h>                                        */
  57. /*        #include <Menus.h>                                        */
  58.  
  59. #ifndef __OCE__
  60. #include <OCE.h>
  61. #endif
  62. /*    #include <Aliases.h>                                        */
  63. /*    #include <Script.h>                                            */
  64. /*        #include <IntlResources.h>                                */
  65.  
  66. #ifndef __OCEAUTHDIR__
  67. #include <OCEAuthDir.h>
  68. #endif
  69.  
  70. #ifdef __cplusplus
  71. extern "C" {
  72. #endif
  73.  
  74. #if PRAGMA_ALIGN_SUPPORTED
  75. #pragma options align=mac68k
  76. #endif
  77.  
  78. #if PRAGMA_IMPORT_SUPPORTED
  79. #pragma import on
  80. #endif
  81.  
  82.  
  83. enum {
  84.     gestaltSDPStandardDirectoryVersion = 'sdvr',
  85.     gestaltSDPFindVersion        = 'dfnd',
  86.     gestaltSDPPromptVersion        = 'prpv'
  87. };
  88.  
  89. #define kSDPNewPanel 100
  90. #define kSDPGetNewPanel 101
  91. #define kSDPDisposePanel 102
  92. #define kSDPHidePanel 103
  93. #define kSDPShowPanel 104
  94. #define kSDPEnablePanel 105
  95. #define kSDPUpdatePanel 106
  96. #define kSDPMovePanel 107
  97. #define kSDPSizePanel 108
  98. #define kSDPOpenSelectedItem 109
  99. #define kSDPGetPanelSelectionState 110
  100. #define kSDPGetPanelSelection 111
  101. #define kSDPSetPath 112
  102. #define kSDPPanelEvent 113
  103. #define kSDPGetPanelSelectionSize 114
  104. #define kSDPSetIdentity 115
  105. #define kSDPSelectString 116
  106. #define kSDPGetPathLength 117
  107. #define kSDPGetPath 118
  108. #define kSDPSetFocus 119
  109. #define kSDPSetPanelBalloonHelp 120
  110. #define kSDPInstallPanelBusyProc 121
  111. #define kSDPPromptForID 904
  112. #define kSDPNewFindPanel 2300
  113. #define kSDPDisposeFindPanel 2301
  114. #define kSDPStartFind 2302
  115. #define kSDPStopFind 2303
  116. #define kSDPFindPanelEvent 2304
  117. #define kSDPDrawFindPanel 2305
  118. #define kSDPShowFindPanel 2306
  119. #define kSDPHideFindPanel 2307
  120. #define kSDPMoveFindPanel 2308
  121. #define kSDPEnableFindPanel 2309
  122. #define kSDPSetFindPanelFocus 2310
  123. #define kSDPGetFindPanelState 2311
  124. #define kSDPGetFindPanelSelectionSize 2312
  125. #define kSDPGetFindPanelSelection 2313
  126. #define kSDPSetFindPanelBalloonHelp 2314
  127. #define kSDPSetFindIdentity 2315
  128. #define kSDPInstallFindPanelBusyProc 2316
  129. #define kSDPGetIconByType 1024
  130. #define kSDPGetDSSpecIcon 1025
  131. #define kSDPGetCategories 1026
  132. #define kSDPGetCategoryTypes 1027
  133. #define kSDPResolveAliasFile 3700
  134. #define kSDPResolveAliasDSSpec 3701
  135. #define kSDPRepairPersonalDirectory 6700
  136. #endif /* REZ */
  137. #define genericDirectoryIconResource -16721
  138. #define genericLockedDirectoryIconResource -16716
  139. #define genericRecordIconResource -16722
  140. #define genericAttributeIconResource -16723
  141. #define genericTemplateIconResource -16746
  142. #define directoryFolderIconResource -16720
  143. #define lockedDirectoryFolderIconResource -16719
  144. #define personalDirectoryIconResource -16718
  145. #define directoriesIconResource -16717
  146. #define preferredPersonalDirectoryIconResource -16724
  147. #define kFirstSpinnerIcon -16745
  148. #define kLastSpinnerIcon -16738
  149. #define kSDPPanelResourceType 'panl'
  150. #define kSDPFindPanelResourceType 'find'
  151. #define kStandardFindLayout -16700
  152. #ifndef REZ
  153. /* Prompt For Identity structures */
  154. enum {
  155.     kSDPGuestBit,
  156.     kSDPSpecificIdentityBit,
  157.     kSDPLocalIdentityBit
  158. };
  159.  
  160. /* Values of SDPIdentityKind */
  161. enum {
  162.     kSDPGuestMask                = 1 << kSDPGuestBit,
  163.     kSDPSpecificIdentityMask    = 1 << kSDPSpecificIdentityBit,
  164.     kSDPLocalIdentityMask        = 1 << kSDPLocalIdentityBit
  165. };
  166.  
  167. typedef unsigned short SDPIdentityKind;
  168.  
  169.  
  170. enum {
  171.     kSDPSuggestionOnly,
  172.     kSDPRestrictToDirectory,
  173.     kSDPRestrictToRecord
  174. };
  175.  
  176. typedef unsigned short SDPLoginFilterKind;
  177.  
  178. /* Panel Structures */
  179. /*
  180. While the panel is in operation, four selection states may exist.
  181.     1) kSDPNothingSelected means nothing is selected.
  182.     2) kContainSelected means a volume, folder, catalog, dnode, or PAB is selected.
  183.     3) kSDPLockedContainerSelected means one of the above, but no access privledges.
  184.     4) kSDPRecordSelected means that a record is currently selected.
  185. */
  186. /* Values of SDPSelectionState */
  187.  
  188. enum {
  189.     kSDPNothingSelected,
  190.     kSDPLockedContainerSelected,
  191.     kSDPContainerSelected,
  192.     kSDPRecordSelected,
  193.     kSDPRecordAliasSelected,
  194.     kSDPContainerAliasSelected
  195. };
  196.  
  197. typedef unsigned short SDPSelectionState;
  198.  
  199. /*
  200. This type informs the caller of the action the user took, either as the result
  201. of an event (as returned by SDPPanelEvent) or when SDPOpenSelectedItem is called.
  202.  
  203. kSDPProcessed means that the event (or call to SDPOpenSelectedItem) resulted in no
  204. state change.
  205.  
  206. kSDPSelectedAnItem indicates that the user wants to select the currently-hilited
  207. record. This is returned, for example, when a user double-clicks on a record.
  208.  
  209. kSDPChangedSelection implies that the user clicked on a new item (which may mean
  210. that no item is selected).
  211. */
  212. /* Values of SDPPanelState */
  213.  
  214. enum {
  215.     kSDPProcessed,
  216.     kSDPSelectedAnItem,
  217.     kSDPChangedSelection
  218. };
  219.  
  220. typedef unsigned short SDPPanelState;
  221.  
  222. /*
  223. Your application may read any of the fields in a SDPPanelRecord, but it should
  224. use the appropriate routines to make changes to the records with the exception
  225. of the refCon field which your application may read or write at will.  Private
  226. information follows the SDPPanelRecord, so the handle must not be re-sized.
  227. */
  228. struct SDPPanelRecord {
  229.     Rect                            bounds;
  230.     Boolean                            visible;
  231.     Boolean                            enabled;
  232.     Boolean                            focused;
  233.     Byte                            padByte;
  234.     AuthIdentity                    identity;
  235.     long                            refCon;
  236.     Rect                            listRect;
  237.     Rect                            popupRect;
  238.     short                            numberOfRows;
  239.     short                            rowHeight;
  240.     Boolean                            pabMode;
  241.     Boolean                            filler1;
  242. };
  243.  
  244. typedef struct SDPPanelRecord SDPPanelRecord;
  245.  
  246. typedef SDPPanelRecord *SDPPanelPtr, **SDPPanelHandle;
  247.  
  248. typedef pascal void (*PanelBusyProcPtr)(SDPPanelHandle Panel, Boolean busy);
  249.  
  250. #if GENERATINGCFM
  251. typedef UniversalProcPtr PanelBusyUPP;
  252. #else
  253. typedef PanelBusyProcPtr PanelBusyUPP;
  254. #endif
  255.  
  256. enum {
  257.     uppPanelBusyProcInfo = kPascalStackBased
  258.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(SDPPanelHandle)))
  259.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Boolean)))
  260. };
  261.  
  262. #if GENERATINGCFM
  263. #define NewPanelBusyProc(userRoutine)        \
  264.         (PanelBusyUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppPanelBusyProcInfo, GetCurrentArchitecture())
  265. #else
  266. #define NewPanelBusyProc(userRoutine)        \
  267.         ((PanelBusyUPP) (userRoutine))
  268. #endif
  269.  
  270. #if GENERATINGCFM
  271. #define CallPanelBusyProc(userRoutine, Panel, busy)        \
  272.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppPanelBusyProcInfo, (Panel), (busy))
  273. #else
  274. #define CallPanelBusyProc(userRoutine, Panel, busy)        \
  275.         (*(userRoutine))((Panel), (busy))
  276. #endif
  277.  
  278. typedef PanelBusyUPP PanelBusyProc;
  279.  
  280. /* Find Panel Structures */
  281.  
  282. enum {
  283.     kSDPItemIsSelectedBit,
  284.     kSDPFindTextExistsBit
  285. };
  286.  
  287. /* Values of SDPFindPanelState */
  288. enum {
  289.     kSDPItemIsSelectedMask        = 1 << kSDPItemIsSelectedBit,
  290.     kSDPFindTextExistsMask        = 1 << kSDPFindTextExistsBit
  291. };
  292.  
  293. typedef unsigned short SDPFindPanelState;
  294.  
  295. /* Values of SDPFindPanelFocus */
  296.  
  297. enum {
  298.     kSDPFindPanelNoFocus,
  299.     kSDPFindPanelListHasFocus,
  300.     kSDPFindPanelTextHasFocus
  301. };
  302.  
  303. typedef unsigned short SDPFindPanelFocus;
  304.  
  305. struct SDPFindPanelRecord {
  306.     Point                            upperLeft;
  307.     Boolean                            visible;
  308.     Boolean                            enabled;
  309.     Boolean                            nowFinding;
  310.     Byte                            padByte;
  311.     SDPFindPanelFocus                currentFocus;
  312.     AuthIdentity                    identity;
  313.     short                            simultaneousSearchCount;
  314.     long                            refCon;
  315. };
  316.  
  317. typedef struct SDPFindPanelRecord SDPFindPanelRecord;
  318.  
  319. typedef SDPFindPanelRecord *SDPFindPanelPtr, **SDPFindPanelHandle;
  320.  
  321. /* Values of SDPFindPanelResult */
  322.  
  323. enum {
  324.     kSDPSelectedAFindItem,
  325.     kSDPFindSelectionChanged,
  326.     kSDPFindCompleted,
  327.     kSDPTextStateChanged,
  328.     kSDPFocusChanged,
  329.     kSDPSelectionAndFocusChanged,
  330.     kSDPMenuChanged,
  331.     kSDPSelectionAndMenuChanged,
  332.     kSDPProcessedFind
  333. };
  334.  
  335. typedef unsigned short SDPFindPanelResult;
  336.  
  337. typedef PackedPathNamePtr *PackedRStringListHandle;
  338.  
  339. typedef PackedDSSpec **PackedDSSpecHandle;
  340.  
  341. typedef pascal void (*FindPanelBusyProcPtr)(SDPFindPanelHandle findPanel, Boolean busy);
  342.  
  343. #if GENERATINGCFM
  344. typedef UniversalProcPtr FindPanelBusyUPP;
  345. #else
  346. typedef FindPanelBusyProcPtr FindPanelBusyUPP;
  347. #endif
  348.  
  349. enum {
  350.     uppFindPanelBusyProcInfo = kPascalStackBased
  351.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(SDPFindPanelHandle)))
  352.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Boolean)))
  353. };
  354.  
  355. #if GENERATINGCFM
  356. #define NewFindPanelBusyProc(userRoutine)        \
  357.         (FindPanelBusyUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppFindPanelBusyProcInfo, GetCurrentArchitecture())
  358. #else
  359. #define NewFindPanelBusyProc(userRoutine)        \
  360.         ((FindPanelBusyUPP) (userRoutine))
  361. #endif
  362.  
  363. #if GENERATINGCFM
  364. #define CallFindPanelBusyProc(userRoutine, findPanel, busy)        \
  365.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppFindPanelBusyProcInfo, (findPanel), (busy))
  366. #else
  367. #define CallFindPanelBusyProc(userRoutine, findPanel, busy)        \
  368.         (*(userRoutine))((findPanel), (busy))
  369. #endif
  370.  
  371. typedef FindPanelBusyUPP FindPanelBusyProc;
  372.  
  373. /* Prompt For Identity Routines */
  374. extern pascal OSErr SDPPromptForID(AuthIdentity *id, ConstStr255Param guestPrompt, ConstStr255Param specificIDPrompt, ConstStr255Param localIDPrompt, const RString *recordType, SDPIdentityKind permittedKinds, SDPIdentityKind *selectedKind, const RecordID *loginFilter, SDPLoginFilterKind filterKind)
  375.  FOURWORDINLINE(0x203C, 16, 904, 0xAA5D);
  376. /*
  377. SDPNewPanel creates a new panel. You supply the window in which the panel
  378. is to live, the bounds for the panel (which includes both the menu and the list),
  379. whether or not the panel is to be initially visible, the initial RLI (nil for
  380. catalogs and volumes), the types of records that will be shown (only a single
  381. (non-nil) type which may contain wildcards), the identity by which to browse
  382. (for access control reasons), and a refCon which is  available to the caller.
  383. */
  384. extern pascal OSErr SDPNewPanel(SDPPanelHandle *newPanel, WindowPtr window, const Rect *bounds, Boolean visible, Boolean enabled, const PackedRLI *initialRLI, const RStringPtr *typesList, unsigned long typeCount, AuthIdentity identity, DirEnumChoices enumFlags, DirMatchWith matchTypeHow, long refCon)
  385.  FOURWORDINLINE(0x203C, 21, 100, 0xAA5D);
  386. /*
  387. SDPSetIdentity Sets the identity used for browsing.  NOTE: This call is likely to go
  388. away if the new authentication scheme works.
  389. */
  390. extern pascal OSErr SDPSetIdentity(SDPPanelHandle panel, AuthIdentity identity)
  391.  FOURWORDINLINE(0x203C, 4, 115, 0xAA5D);
  392. /*
  393. SDPGetNewPanel is similar to SDPNewPanel above, except it takes a resource id of a
  394. 'panl' resource.
  395. */
  396. extern pascal OSErr SDPGetNewPanel(SDPPanelHandle *newPanel, short resourceID, WindowPtr window, const PackedRLI *initialRLI, AuthIdentity identity)
  397.  FOURWORDINLINE(0x203C, 9, 101, 0xAA5D);
  398. /*
  399. Call this when you're completely done with a panel. It deallocates all of the
  400. associated data structures.
  401. */
  402. extern pascal OSErr SDPDisposePanel(SDPPanelHandle panel)
  403.  FOURWORDINLINE(0x203C, 2, 102, 0xAA5D);
  404. /*
  405. If the panel is visible, it makes it invisible by hiding the menu, turning off
  406. drawing of the list, and erasing and  invaling the list's rectangle.
  407. */
  408. extern pascal OSErr SDPHidePanel(SDPPanelHandle panel)
  409.  FOURWORDINLINE(0x203C, 2, 103, 0xAA5D);
  410. /* If the panel is invisible, it makes it visible and draws it. */
  411. extern pascal OSErr SDPShowPanel(SDPPanelHandle panel)
  412.  FOURWORDINLINE(0x203C, 2, 104, 0xAA5D);
  413. /* Disables the list and menu so that it won't accept any commands. */
  414. extern pascal OSErr SDPEnablePanel(SDPPanelHandle panel, Boolean enable)
  415.  FOURWORDINLINE(0x203C, 3, 105, 0xAA5D);
  416. /*
  417. Move the upper-left-hand corner of the panel to (h,v), given in local coordinates of
  418. the panel's window.
  419. */
  420. extern pascal OSErr SDPMovePanel(SDPPanelHandle panel, short h, short v)
  421.  FOURWORDINLINE(0x203C, 4, 107, 0xAA5D);
  422. /*
  423. Resizes the panel to have the given width and height (keeping the upper-left-hand
  424. corner in a fixed position).
  425. */
  426. extern pascal OSErr SDPSizePanel(SDPPanelHandle panel, short width, short height)
  427.  FOURWORDINLINE(0x203C, 4, 108, 0xAA5D);
  428. /*
  429. This routine simulates a double-click on the selected item (if there is no selected
  430. item, then it does nothing), and it returns the result of that "double-click" via the
  431. whatHappened parameter. If a container is selected, then that container will be
  432. opened and kMovedDownTheHierarchy is returned. If, however, the user is at the lowest
  433. level in the hierarchy, then kSDPSelectedAnItem is returned.
  434. */
  435. extern pascal OSErr SDPOpenSelectedItem(SDPPanelHandle panel, SDPPanelState *whatHappened)
  436.  FOURWORDINLINE(0x203C, 4, 109, 0xAA5D);
  437. /*
  438. Returns whether a record is selected, something else is selected, or nothing is
  439. selected.
  440. */
  441. extern pascal OSErr SDPGetPanelSelectionState(SDPPanelHandle panel, SDPSelectionState *itsState)
  442.  FOURWORDINLINE(0x203C, 4, 110, 0xAA5D);
  443. /*
  444. Returns the size of the currently-selected DSSpec, or zero if a record is
  445. not selected.  It is safe to do a NewPtr (SDPGetPanelSelectionSize (...))
  446. */
  447. extern pascal OSErr SDPGetPanelSelectionSize(SDPPanelHandle panel, unsigned short *dsSpecSize)
  448.  FOURWORDINLINE(0x203C, 4, 114, 0xAA5D);
  449. /*
  450. Returns the currently-selected DSSpec, or a zero-lengthed
  451. DSSpec if a record is not selected. It is assumed that the selection
  452. buffer allocated is large enough.
  453. */
  454. extern pascal OSErr SDPGetPanelSelection(SDPPanelHandle panel, PackedDSSpec *selection)
  455.  FOURWORDINLINE(0x203C, 4, 111, 0xAA5D);
  456. /*
  457. Forces browsing to the specified RLI. If prli is the current RLI, then it does
  458. nothing.
  459. */
  460. extern pascal OSErr SDPSetPath(SDPPanelHandle panel, const PackedRLI *prli)
  461.  FOURWORDINLINE(0x203C, 4, 112, 0xAA5D);
  462. /*
  463. This is the main driver for the panel.  You should pass all events to SDPPanelEvent
  464. including NULL events.  If you have more than 1 panel, you will need to
  465. call SDPPanelEvent for each panel.  NOTE:  For Update Events you will also need to call
  466. SDPUpdatePanel as described below.
  467. */
  468. extern pascal OSErr SDPPanelEvent(SDPPanelHandle panel, const EventRecord *theEvent, SDPPanelState *whatHappened)
  469.  FOURWORDINLINE(0x203C, 6, 113, 0xAA5D);
  470. /*
  471. SDPUpdatePanel should be called in response to an update event.  Generally you will
  472. have first called BeginUpdate, and pass the windows visRgn as theRgn.  If NULL
  473. is passed for theRgn the entire panel is re-drawn.  NOTE:  Drawing is not cliped to
  474. theRgn, if this is desired, you must first call SetClip.
  475. */
  476. extern pascal OSErr SDPUpdatePanel(SDPPanelHandle panel, RgnHandle theRgn)
  477.  FOURWORDINLINE(0x203C, 4, 106, 0xAA5D);
  478. /*
  479. SDPSelectString scrolls and selects the closest matching string at the current
  480. level.  This is the same behavior as if the user typed in the given string.
  481. */
  482. extern pascal OSErr SDPSelectString(SDPPanelHandle panel, const RString *name)
  483.  FOURWORDINLINE(0x203C, 4, 116, 0xAA5D);
  484. /*
  485. SDPGetPathLength returns the length in bytes required to hold the current path name
  486. in RLI format.  This corresponds to the path name in the popup menu.
  487. */
  488. extern pascal OSErr SDPGetPathLength(SDPPanelHandle panel, unsigned short *pathNameLength)
  489.  FOURWORDINLINE(0x203C, 4, 117, 0xAA5D);
  490. /* SDPGetPath returns the current rli. */
  491. extern pascal OSErr SDPGetPath(SDPPanelHandle panel, PackedRLI *prli, short *dsRefNum)
  492.  FOURWORDINLINE(0x203C, 6, 118, 0xAA5D);
  493. /*
  494. SDPSetFocus will draw the focus rectangle or erase the focus rectangle depending upon
  495. the focus boolean.
  496. */
  497. extern pascal OSErr SDPSetFocus(SDPPanelHandle panel, Boolean focus)
  498.  FOURWORDINLINE(0x203C, 3, 119, 0xAA5D);
  499. /*
  500. SDPSetPanelBalloonHelp allows clients to specify a STR# resource id to use for 
  501. balloon help.  Balloon help is unavailable until this call is made.
  502. */
  503. extern pascal OSErr SDPSetPanelBalloonHelp(SDPPanelHandle panel, short balloonHelpID)
  504.  FOURWORDINLINE(0x203C, 3, 120, 0xAA5D);
  505. /*
  506. SDPInstallPanelBusyProc allows clients to install a CB that will be called while
  507. the panel is aynchronously busy.
  508. */
  509. extern pascal OSErr SDPInstallPanelBusyProc(SDPPanelHandle panel, PanelBusyProc busyProc)
  510.  FOURWORDINLINE(0x203C, 4, 121, 0xAA5D);
  511. extern pascal OSErr SDPNewFindPanel(SDPFindPanelHandle *newPanel, WindowPtr window, Point upperLeft, short layoutResourceID, Boolean visible, Boolean enabled, const RStringPtr *typesList, long typeCount, DirMatchWith matchTypeHow, AuthIdentity identity, short simultaneousSearchCount, SDPFindPanelFocus initialFocus, long refCon)
  512.  FOURWORDINLINE(0x203C, 20, 2300, 0xAA5D);
  513. extern pascal OSErr SDPDisposeFindPanel(SDPFindPanelHandle findPanel)
  514.  FOURWORDINLINE(0x203C, 2, 2301, 0xAA5D);
  515. extern pascal OSErr SDPStartFind(SDPFindPanelHandle findPanel)
  516.  FOURWORDINLINE(0x203C, 2, 2302, 0xAA5D);
  517. extern pascal OSErr SDPStopFind(SDPFindPanelHandle findPanel)
  518.  FOURWORDINLINE(0x203C, 2, 2303, 0xAA5D);
  519. extern pascal OSErr SDPFindPanelEvent(SDPFindPanelHandle findPanel, const EventRecord *event, SDPFindPanelResult *whatHappened)
  520.  FOURWORDINLINE(0x203C, 6, 2304, 0xAA5D);
  521. extern pascal OSErr SDPUpdateFindPanel(SDPFindPanelHandle findPanel, RgnHandle theRgn)
  522.  FOURWORDINLINE(0x203C, 4, 2305, 0xAA5D);
  523. extern pascal OSErr SDPShowFindPanel(SDPFindPanelHandle findPanel)
  524.  FOURWORDINLINE(0x203C, 2, 2306, 0xAA5D);
  525. extern pascal OSErr SDPHideFindPanel(SDPFindPanelHandle findPanel)
  526.  FOURWORDINLINE(0x203C, 2, 2307, 0xAA5D);
  527. extern pascal OSErr SDPMoveFindPanel(SDPFindPanelHandle findPanel, short h, short v)
  528.  FOURWORDINLINE(0x203C, 4, 2308, 0xAA5D);
  529. extern pascal OSErr SDPEnableFindPanel(SDPFindPanelHandle findPanel, Boolean enabled)
  530.  FOURWORDINLINE(0x203C, 3, 2309, 0xAA5D);
  531. extern pascal OSErr SDPSetFindPanelFocus(SDPFindPanelHandle findPanel, SDPFindPanelFocus newFocus)
  532.  FOURWORDINLINE(0x203C, 3, 2310, 0xAA5D);
  533. extern pascal OSErr SDPGetFindPanelState(SDPFindPanelHandle findPanel, SDPFindPanelState *itsState)
  534.  FOURWORDINLINE(0x203C, 4, 2311, 0xAA5D);
  535. extern pascal OSErr SDPGetFindPanelSelectionSize(SDPFindPanelHandle findPanel, unsigned short *size)
  536.  FOURWORDINLINE(0x203C, 4, 2312, 0xAA5D);
  537. extern pascal OSErr SDPGetFindPanelSelection(SDPFindPanelHandle findPanel, PackedDSSpec *selection)
  538.  FOURWORDINLINE(0x203C, 4, 2313, 0xAA5D);
  539. extern pascal OSErr SDPSetFindPanelBalloonHelp(SDPFindPanelHandle findPanel, short balloonHelpID)
  540.  FOURWORDINLINE(0x203C, 3, 2314, 0xAA5D);
  541. extern pascal OSErr SDPSetFindIdentity(SDPFindPanelHandle findPanel, AuthIdentity identity)
  542.  FOURWORDINLINE(0x203C, 4, 2315, 0xAA5D);
  543. extern pascal OSErr SDPInstallFindPanelBusyProc(SDPFindPanelHandle findPanel, FindPanelBusyProc busyProc)
  544.  FOURWORDINLINE(0x203C, 4, 2316, 0xAA5D);
  545. extern pascal OSErr SDPGetIconByType(const RString *recordType, IconSelectorValue whichIcons, Handle *iconSuite)
  546.  THREEWORDINLINE(0x303C, 1024, 0xAA5C);
  547. extern pascal OSErr SDPGetDSSpecIcon(const PackedDSSpec *packedDSSpec, IconSelectorValue whichIcons, Handle *iconSuite)
  548.  THREEWORDINLINE(0x303C, 1025, 0xAA5C);
  549. extern pascal OSErr SDPGetCategories(PackedRStringListHandle *categories, PackedRStringListHandle *displayNames)
  550.  THREEWORDINLINE(0x303C, 1026, 0xAA5C);
  551. extern pascal OSErr SDPGetCategoryTypes(const RString *category, PackedRStringListHandle *types)
  552.  THREEWORDINLINE(0x303C, 1027, 0xAA5C);
  553. extern pascal OSErr SDPResolveAliasFile(FSSpecPtr fileSpec, PackedDSSpecHandle resolvedDSSpec, AuthIdentity identity, Boolean mayPromptUser)
  554.  FOURWORDINLINE(0x203C, 7, 3700, 0xAA5D);
  555. extern pascal OSErr SDPResolveAliasDSSpec(PackedDSSpecHandle theAliasDSSpec, AuthIdentity identity, Boolean mayPromptUser)
  556.  FOURWORDINLINE(0x203C, 5, 3701, 0xAA5D);
  557. extern pascal OSErr SDPRepairPersonalDirectory(FSSpec *pd, Boolean showProgress)
  558.  FOURWORDINLINE(0x203C, 3, 6700, 0xAA5D);
  559.  
  560. #if PRAGMA_IMPORT_SUPPORTED
  561. #pragma import off
  562. #endif
  563.  
  564. #if PRAGMA_ALIGN_SUPPORTED
  565. #pragma options align=reset
  566. #endif
  567.  
  568. #ifdef __cplusplus
  569. }
  570. #endif
  571.  
  572. #endif /* REZ */
  573. #endif /* __OCESTANDARDDIRECTORY__ */
  574.